Introduction

The x86-64 assembly paradigm has quite a lot of different instructions available at its disposal. An instructions consists of an operation and a set of operands where the latter specify the data and the former specifies what is to be done to that data.

Operand Notation

Typically, instruction signatures are represented using the following operand notation.

Operand NotationDescription
<reg>Register operand.
<reg8>, <reg16>, <reg32>, <reg64>Register operand with a specific size requirement.
<src>Source operand.
<dest>Destination operand - this may be a register or memory location.
<RXdest>Floating-point destination register operand.
<imm>Immediate value (a literal). Base-10 by default, but can be preceded with 0x to make it hexadecimal.
<mem>Memory location - a variable name or an address.
<op>Arbitrary operand - immediate value, register or memory location.
<label>Programme label.